home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Essentials / SANE / SANE1 / INCLUDE.EQUS < prev   
Encoding:
Text File  |  1985-11-07  |  4.3 KB  |  121 lines  |  [TEXT/pdos]

  1. ;-----------------------------------------------------------
  2. ;
  3. ; FILE:  INCLUDE.EQUS
  4. ;
  5. ; Copyright Apple Computer, Inc. 1984, 1985
  6. ; All Rights Reserved
  7. ;
  8. ;  These equates and the individual assembly language macros 
  9. ;  give access to the 6502 floating-point arithmetic routines.
  10. ;-----------------------------------------------------------
  11. ;
  12. ;-----------------------------------------------------------
  13. ; Operation code masks.
  14. ;-----------------------------------------------------------
  15. FOADD EQU $0000 ; add
  16. FOSUB EQU $0002 ; subtract
  17. FOMUL EQU $0004 ; multiply
  18. FODIV EQU $0006 ; divide
  19. FOCMP EQU $0008 ; compare, no exception from unordered
  20. FOCPX EQU $000A ; compare, signal invalid if unordered
  21. FOREM EQU $000C ; remainder
  22. FOZ2X EQU $000E ; convert to extended
  23. FOX2Z EQU $0010 ; convert from extended
  24. FOSQRT EQU $0012 ; square root
  25. FORTI EQU $0014 ; round to integral value
  26. FOTTI EQU $0016 ; truncate to integral value
  27. FOSCALB EQU $0018 ; binary scale
  28. FOLOGB EQU $001A ; binary log
  29. FOCLASS EQU $001C ; classify
  30. FONEXT EQU $001E ; next-after
  31. ;
  32. FOSETENV EQU $0001 ; set environment
  33. FOGETENV EQU $0003 ; get environment
  34. FOSETHV EQU $0005 ; set halt vector
  35. FOGETHV EQU $0007 ; get halt vector
  36. FOD2B EQU $0009 ; convert decimal to binary
  37. FOB2D EQU $000B ; convert binary to decimal
  38. FONEG EQU $000D ; negate
  39. FOABS EQU $000F ; absolute value
  40. FOCPYSGN EQU $0011 ; copy sign
  41. ; UNDEFINED    EQU    $0013
  42. FOSETXCP EQU $0015 ; set exception
  43. FOPROCENTRY EQU $0017 ; procedure-entry
  44. FOPROCEXIT EQU $0019 ; procedure-exit
  45. FOTESTXCP EQU $001B ; test exception
  46. ; UNDEFINED    EQU    $001D
  47. ; UNDEFINED    EQU    $001F
  48. ;
  49. ;-----------------------------------------------------------
  50. ; Operand format masks.
  51. ;-----------------------------------------------------------
  52. FFEXT EQU $00 ; extended -- 80-bit float
  53. FFDBL EQU $01 ; double   -- 64-bit float
  54. FFSGL EQU $02 ; single   -- 32-bit float
  55. FFLNG EQU $03 ; longint  -- 32-bit integer                                                   
  56. FFINT EQU $04 ; integer  -- 16-bit integer
  57. FFCOMP EQU $05 ; comp     -- 64-bit integer
  58. ; UNDEFINED    EQU    $06
  59. ; UNDEFINED    EQU    $07
  60. ;
  61. ;-----------------------------------------------------------
  62. ; Class.
  63. ;-----------------------------------------------------------
  64. FCSNAN EQU $FC ; -4: signaling NAN
  65. FCQNAN EQU $FD ; -3: quiet NAN
  66. FCINF EQU $FE ; -2: infinite
  67. FCZERO EQU $FF ; -1: zero
  68. FCNORM EQU $00 ;  0: normal
  69. FCDENORM EQU $01 ;  1: denormal
  70. ;
  71. ;-----------------------------------------------------------
  72. ; Exceptions.
  73. ;-----------------------------------------------------------
  74. FBINVALID EQU $01
  75. FBUFLOW EQU $02
  76. FBOFLOW EQU $04
  77. FBDIVZER EQU $08
  78. FBINEXACT EQU $10
  79. ;-----------------------------------------------------------
  80. ; Elementary function operation code masks.
  81. ;-----------------------------------------------------------
  82. FOLNX EQU $00 ; base-e log 
  83. FOLOG2X EQU $02 ; base-2 log
  84. FOLN1X EQU $04 ; ln (1 + x)
  85. FOLOG21X EQU $06 ; log2 (1 + x)
  86. FOEXPX EQU $08 ; base-e exponential  
  87. FOEXP2X EQU $0A ; base-2 exponential
  88. FOEXP1X EQU $0C ; exp (x) - 1
  89. FOEXP21X EQU $0E ; exp2 (x) - 1
  90. FOXPWRI EQU $10 ; integer exponentiation
  91. FOXPWRY EQU $12 ; general exponentiation
  92. FOCOMPND EQU $14 ; compound
  93. FOANNUIT EQU $16 ; annuity
  94. FOATANX EQU $18 ; arctangent
  95. FOSINX EQU $1A ; sine
  96. FOCOSX EQU $1C ; cosine
  97. FOTANX EQU $1E ; tangent
  98. FORANDX EQU $20 ; random
  99. ;
  100. ;-----------------------------------------------------------
  101. ; NaN error codes.  
  102. ;-----------------------------------------------------------
  103. NANSQRT EQU 1 ; Invalid square root such as sqrt(-1).
  104. NANADD EQU 2 ; Invalid addition such as +INF - +INF. 
  105. NANDIV EQU 4 ; Invalid division such as 0/0. 
  106. NANMUL EQU 8 ; Invalid multiply such as 0 * INF. 
  107. NANREM  EQU 9 ; Invalid remainder or mod such as x REM 0. 
  108. NANASCBIN EQU 17 ; Attempt to convert invalid ASCII string. 
  109. NANCOMP EQU 20 ; Result of converting comp NaN to floating.
  110. NANZERO EQU 21 ; Attempt to create a NaN with a zero code.
  111. NANTRIG EQU 33 ; Invalid argument to trig routine. 
  112. NANINVTRIG EQU 34 ; Invalid argument to inverse trig routine. 
  113. NANLOG EQU 36 ; Invalid argument to log routine. 
  114. NANPOWER EQU 37 ; Invalid argument to x^i or x^y routine. 
  115. NANFINAN EQU 38 ; Invalid argument to financial function. 
  116. ;-----------------------------------------------------------
  117. ;-----------------------------------------------------------
  118. ;-----------------------------------------------------------
  119. ;-----------------------------------------------------------
  120.